數字(Number) 物件也就是數值型態的物件,像是整數 (integer) 或帶有小數點的浮點數 (floating point) 都是 數字(Number) 。
var num = 3.14 //浮點數 (floating point)
var num2 = 10 //整數 (integer)
Infinity(無限大) 和 -Infinity(負無限大) 以及 NaN(不是數字, Not a Number) ,這三個都是 Global屬性,而任何正數除以 0 會得到無限大,反之負數會得到負無限大,那如果是 0 / 0 呢? 答案是會得到一個 NaN,NaN 在 JavaScript 是一個又愛又恨的東西,如果你用 typeof 去檢查它的型別話,它會告訴你,嗨 ~ 我是一個數字哦!可是它的意思就是告訴你,我不是數字(是想讓我的腦細胞爆炸嗎)
typeof(NaN) // "Number"
注意: NaN 和任何數做運算都會得到 NaN
JavaScript 也有一個 function 可以判斷一個值是不是 NaN
isNaN(NaN); // true
isNaN(undefined); // true
isNaN({}); // true
isNaN(true); // false
isNaN(null); // false
isNaN(20); // false
而 JavaScript 內建一個 function 可以將其他資料型態轉成數字
字串
Number('3.14') // 3.14
Number('100') // 100
Number(' ') // 0
Number('') // 0
Number('a123') // NaN
布林值
Number(false) // 0
Number(true) // 1
幾乎所有程式語言裡都有 null(空值) 設定,但是在 JavaScript 裡面還有一個 undefined (未定義),接下來我們來比較一下這兩者的差別是什麼吧!
希望這篇文章讓大家對於數字以及 null 和 undefined 都有初步的了解,下次在看到它們的話,腦袋瓜不會在炸開嘞 ~ 我們明天見!
重新認識 JavaScript: Day 03 變數與資料型別